//自定义指令 ：用来做 按钮级权限

// 在 permission中执行一下这个文件，注册指令
// 获取当前用户的身份
import store from "@/store";

import Vue from "vue";
// 注册自定义指令
Vue.directive("permission", function (el, binding) {
  //     函数在更新或者绑定时触发
  //     el:指令目标元素
  //    binding:记录了详细的信息 包括指令后面跟着的值
  //   console.log(el,binding)
  const { value } = binding;
  if (!value) return; //value: [1,'admin']
  const role = store.getters.role; // '管理员|2|admin'
  if (!role) return;

  // 比对 value中的成员有没有在 role这个字段里面的 成员
  const flag = value.some((item) => role.includes(item.toString()));

  if (!flag) {
    setTimeout(() => {
      el.parentNode && el.parentNode.removeChild(el);
    }, 30);
  }
});
